VDict mobile



The property of object-oriented programming languages where
the code executed to perform a given operation is determined
at run time from the class of the operand(s) (the receiver
of the message). There may be several different classes of
objects which can receive a given message. An expression may
denote an object which may have more than one possible class
and that class can only be determined at run time. New
classes may be created that can receive a particular message,
without changing (or recompiling) the code which sends the
message. An class may be created that can receive any set of
existing messages.
C++ implements dynamic binding using "virtual memberfunctions".
One important reason for having dynamic binding is that it
provides a mechanism for selecting between alternatives which
is arguably more robust than explicit selection by
conditionals or pattern matching. When a new subclass is
added, or an existing subclass changes, the necessary
modifications are localised: you don't have incomplete
conditionals and broken patterns scattered all over the
program.